ARM: vGICv3: handle virtual LPI pending and property tables
authorAndre Przywara <andre.przywara@arm.com>
Mon, 22 Aug 2016 16:35:44 +0000 (17:35 +0100)
committerStefano Stabellini <sstabellini@kernel.org>
Wed, 14 Jun 2017 18:38:37 +0000 (11:38 -0700)
commitfe7fa1332dabd9ce4e98f1f61f2fe9b6203007b3
tree7f2f735e7748ea774e59c26db6095d7fabbcacfe
parentf98d6a0862f626ac885f53dc35e39db0e84ce680
ARM: vGICv3: handle virtual LPI pending and property tables

Allow a guest to provide the address and size for the memory regions
it has reserved for the GICv3 pending and property tables.
We sanitise the various fields of the respective redistributor
registers.
The MMIO read and write accesses are protected by locks, to avoid any
changing of the property or pending table address while a redistributor
is live and also to protect the non-atomic vgic_reg64_extract() function
on the MMIO read side.

Signed-off-by: Andre Przywara <andre.przywara@arm.com>
Reviewed-by: Julien Grall <julien.grall@arm.com>
Acked-by: Stefano Stabellini <sstabellini@kernel.org>
xen/arch/arm/vgic-v3.c
xen/include/asm-arm/domain.h